AWK একটি শক্তিশালী স্ক্রিপ্টিং ভাষা যা বিভিন্ন ধরনের অপারেটর সমর্থন করে। অপারেটরগুলি ভেরিয়েবল এবং মানের উপর কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়। AWK এ সাধারণত নিম্নলিখিত ধরনের অপারেটর পাওয়া যায়:
গণনা অপারেটরগুলি গাণিতিক কার্যক্রম সম্পাদনের জন্য ব্যবহৃত হয়। AWK এ উপলব্ধ প্রধান গণনা অপারেটরগুলি হল:
awk 'BEGIN { x = 10; y = 5; print x + y }'
তুলনামূলক অপারেটরগুলি দুটি মানের মধ্যে তুলনা করতে ব্যবহৃত হয় এবং ফলস্বরূপ একটি বুলিয়ান (সত্য/মিথ্যা) মান প্রদান করে। AWK এ প্রধান তুলনামূলক অপারেটরগুলি হল:
awk '{ if ($1 > 100) print $1 " is greater than 100" }' filename.txt
লজিক্যাল অপারেটরগুলি একটি বা একাধিক শর্তের সাথে কাজ করতে ব্যবহৃত হয়। AWK এ লজিক্যাল অপারেটরগুলি হল:
awk '{ if ($1 > 50 && $2 < 100) print $1, $2 }' filename.txt
অ্যাসাইনমেন্ট অপারেটরগুলি ভেরিয়েবলকে একটি নতুন মান দিতে ব্যবহৃত হয়। প্রধান অ্যাসাইনমেন্ট অপারেটর হল:
awk 'BEGIN { x = 10; x += 5; print x }' # x এর মান 15 হবে
AWK এ স্ট্রিং অপারেটর সাধারণত স্ট্রিং ম্যানিপুলেশনের জন্য ব্যবহৃত হয়। AWK এ স্ট্রিং সংযুক্ত করতে "
(ডাবল কোট) ব্যবহার করা হয়।
awk 'BEGIN { str1 = "Hello"; str2 = "World"; print str1 " " str2 }'
AWK এ অপারেটরগুলি ব্যবহারকারীদের জন্য তথ্য প্রক্রিয়াকরণে বিভিন্ন কার্যক্রম সম্পাদন করতে সহায়ক। গণনা, তুলনা, লজিক্যাল এবং অ্যাসাইনমেন্ট অপারেটরগুলি AWK স্ক্রিপ্টের কার্যকারিতা বাড়ায়, যা ব্যবহারকারীদের তাদের কাজের ফলাফল অর্জন করতে সাহায্য করে। AWK এর অপারেটরগুলির সঠিক ব্যবহার ডেটা বিশ্লেষণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
অ্যারিথমেটিক অপারেটরগুলি প্রোগ্রামিং এবং গণনা করার মৌলিক উপাদান, যা সংখ্যা বা ভগ্নাংশের ওপর বিভিন্ন গণনা সম্পাদন করতে ব্যবহৃত হয়। এখানে আমরা সাধারণ পাঁচটি অ্যারিথমেটিক অপারেটরের আলোচনা করব: যোগ (+), বিয়োগ (−), গুণ (×), ভাগ (÷), এবং মডুলাস (%), এবং তাদের কার্যকারিতা।
যোগ অপারেটর দুটি বা ততোধিক সংখ্যার যোগফল বের করতে ব্যবহৃত হয়। এটি সাধারণত দুটি সংখ্যা বা দুটি ভেরিয়েবলের যোগফল নির্ধারণ করতে ব্যবহৃত হয়।
a = 10
b = 5
result = a + b # ফলস্বরূপ: 15
বিয়োগ অপারেটর দুটি সংখ্যার মধ্যে বিয়োগ করতে ব্যবহৃত হয়। এটি সাধারণত একটি সংখ্যা থেকে আরেকটি সংখ্যা বাদ দিতে ব্যবহৃত হয়।
a = 10
b = 5
result = a - b # ফলস্বরূপ: 5
গুণ অপারেটর দুটি সংখ্যার গুণফল বের করতে ব্যবহৃত হয়। এটি সাধারণত দুটি সংখ্যা বা ভেরিয়েবলের গুণফল নির্ধারণ করতে ব্যবহৃত হয়।
a = 10
b = 5
result = a * b # ফলস্বরূপ: 50
ভাগ অপারেটর একটি সংখ্যা অন্য একটি সংখ্যায় ভাগ করতে ব্যবহৃত হয়। এটি সাধারণত দুটি সংখ্যা বা ভেরিয়েবলের ভাগফল নির্ধারণ করতে ব্যবহৃত হয়।
a = 10
b = 5
result = a / b # ফলস্বরূপ: 2.0
নোট: কিছু প্রোগ্রামিং ভাষায় (যেমন Python) ভগ্নাংশ সংখ্যার ফলাফল দেয়, যদি বিভাজকটি পূর্ণসংখ্যা হয়।
মডুলাস অপারেটর একটি সংখ্যা অন্য একটি সংখ্যায় ভাগ করার পর যে অবশিষ্টাংশ থাকে তা বের করতে ব্যবহৃত হয়। এটি বিশেষভাবে সংখ্যার জোড় বা বিজোড় নির্ধারণ করতে ব্যবহৃত হয়।
a = 10
b = 3
result = a % b # ফলস্বরূপ: 1
এখানে 10 কে 3 দিয়ে ভাগ করলে অবশিষ্টাংশ 1।
অ্যারিথমেটিক অপারেটরগুলি প্রোগ্রামিংয়ের মৌলিক উপাদান যা গণনা এবং সংখ্যা বিশ্লেষণে ব্যবহৃত হয়। যোগ (+), বিয়োগ (−), গুণ (×), ভাগ (÷), এবং মডুলাস (%) অপারেটরগুলি ব্যবহার করে ব্যবহারকারীরা বিভিন্ন গণনা এবং সংখ্যা বিশ্লেষণের কাজ করতে পারেন। এই অপারেটরগুলির সাহায্যে প্রোগ্রামাররা গণনা সম্পর্কিত জটিল সমস্যাগুলির সমাধান করতে সক্ষম হন।
Relational operators হল সেই অপারেটরগুলি যা দুটি ভ্যালুর মধ্যে সম্পর্ক নির্ধারণ করে। এই অপারেটরগুলি সাধারণত শর্তাবলী এবং লজিক্যাল সিদ্ধান্ত নেওয়ার জন্য ব্যবহৃত হয়। AWK সহ অন্যান্য প্রোগ্রামিং ভাষায়, relational operators গুরুত্বপূর্ণ ভূমিকা পালন করে কারণ তারা বিভিন্ন কন্ডিশন এবং ডেটা তুলনা করার জন্য ব্যবহৃত হয়। এখানে AWK তে সাধারণভাবে ব্যবহৃত relational operators এর একটি তালিকা এবং তাদের ব্যাখ্যা দেওয়া হলো।
==
অপারেটরটি দুটি ভ্যালুর সমান কিনা তা যাচাই করে। যদি ভ্যালুগুলি সমান হয়, তবে এটি true
ফেরত দেয়, অন্যথায় false
।
awk '{ if ($1 == 100) print "Found 100"; }' data.txt
এখানে $1
কলামের মান যদি 100 এর সমান হয়, তবে "Found 100" প্রিন্ট হবে।
!=
অপারেটরটি দুটি ভ্যালুর মধ্যে অসমান কিনা তা যাচাই করে। যদি ভ্যালুগুলি অসমান হয়, তবে এটি true
ফেরত দেয়, অন্যথায় false
।
awk '{ if ($2 != "pass") print $1 " did not pass"; }' results.txt
এখানে $2
কলামের মান যদি "pass" এর সমান না হয়, তবে উক্ত ছাত্রের নাম প্রিন্ট হবে যিনি উত্তীর্ণ হননি।
>
অপারেটরটি প্রথম ভ্যালুটি দ্বিতীয় ভ্যালুর চেয়ে বড় কিনা তা যাচাই করে। যদি প্রথম ভ্যালু বড় হয়, তবে এটি true
ফেরত দেয়।
awk '{ if ($3 > 50) print $1 " passed"; }' scores.txt
এখানে $3
কলামের মান যদি 50 এর বেশি হয়, তবে উক্ত ছাত্রের নাম প্রিন্ট হবে যে পাশ করেছে।
<
অপারেটরটি প্রথম ভ্যালুটি দ্বিতীয় ভ্যালুর চেয়ে ছোট কিনা তা যাচাই করে। যদি প্রথম ভ্যালু ছোট হয়, তবে এটি true
ফেরত দেয়।
awk '{ if ($1 < 10) print $1 " is less than 10"; }' numbers.txt
এখানে $1
কলামের মান যদি 10 এর চেয়ে কম হয়, তবে সেই মানটি প্রিন্ট হবে।
>=
অপারেটরটি প্রথম ভ্যালুটি দ্বিতীয় ভ্যালুর চেয়ে বড় বা সমান কিনা তা যাচাই করে। যদি প্রথম ভ্যালু বড় বা সমান হয়, তবে এটি true
ফেরত দেয়।
awk '{ if ($2 >= 60) print $1 " is eligible for scholarship"; }' grades.txt
এখানে $2
কলামের মান যদি 60 এর সমান বা বেশি হয়, তবে উক্ত ছাত্রের নাম প্রিন্ট হবে যিনি বৃত্তির জন্য যোগ্য।
<=
অপারেটরটি প্রথম ভ্যালুটি দ্বিতীয় ভ্যালুর চেয়ে ছোট বা সমান কিনা তা যাচাই করে। যদি প্রথম ভ্যালু ছোট বা সমান হয়, তবে এটি true
ফেরত দেয়।
awk '{ if ($1 <= 20) print $1 " is less than or equal to 20"; }' values.txt
এখানে $1
কলামের মান যদি 20 এর সমান বা কম হয়, তবে সেই মানটি প্রিন্ট হবে।
Relational operators হল একটি প্রোগ্রামিং ভাষার গুরুত্বপূর্ণ উপাদান যা বিভিন্ন মানের মধ্যে সম্পর্ক নির্ধারণ করে। AWK তে এই অপারেটরগুলি বিভিন্ন শর্ত এবং সিদ্ধান্ত গ্রহণে ব্যবহৃত হয়, যা প্রোগ্রামিংয়ের কাজকে আরো কার্যকরী ও সহজ করে তোলে। এই অপারেটরগুলি ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণের ক্ষেত্রে অত্যন্ত প্রয়োজনীয়।
AWK প্রোগ্রামিং ভাষায় লজিক্যাল অপারেটরগুলি বিভিন্ন শর্তকে সংযুক্ত করতে ব্যবহৃত হয়। এই অপারেটরগুলি শর্তগুলোর মধ্যে সম্পর্ক স্থাপন করে এবং শর্তের ফলস্বরূপ প্রোগ্রামের কার্যকলাপ নিয়ন্ত্রণ করে। নিচে AWK এর তিনটি মূল লজিক্যাল অপারেটর এবং তাদের ব্যবহার সম্পর্কে আলোচনা করা হলো:
&&
অপারেটর দুটি শর্তের মধ্যে লজিক্যাল AND সম্পর্ক নির্দেশ করে। এটি সত্য (true) হয় যদি উভয় শর্তই সত্য হয়।&&
ব্যবহার করা হয়।উদাহরণ:
awk '$1 > 10 && $2 < 50 {print $0}' filename.txt
এখানে, এই কমান্ডটি সেই লাইনগুলি প্রিন্ট করবে যেখানে প্রথম ফিল্ড 10 এর বেশি এবং দ্বিতীয় ফিল্ড 50 এর কম।
||
অপারেটর দুটি শর্তের মধ্যে লজিক্যাল OR সম্পর্ক নির্দেশ করে। এটি সত্য (true) হয় যদি অন্তত একটি শর্ত সত্য হয়।||
ব্যবহার করা হয়।উদাহরণ:
awk '$1 < 10 || $2 > 50 {print $0}' filename.txt
এখানে, এই কমান্ডটি সেই লাইনগুলি প্রিন্ট করবে যেখানে প্রথম ফিল্ড 10 এর কম অথবা দ্বিতীয় ফিল্ড 50 এর বেশি।
!
অপারেটর একটি শর্তের বিপরীত ফলাফল নির্দেশ করে। এটি সত্য (true) হবে যদি শর্তটি মিথ্যা (false) হয়।!
ব্যবহার করা হয়।উদাহরণ:
awk '!($1 > 10) {print $0}' filename.txt
এখানে, এই কমান্ডটি সেই লাইনগুলি প্রিন্ট করবে যেখানে প্রথম ফিল্ড 10 এর বেশি নয়।
লজিক্যাল অপারেটরগুলি একত্রিতভাবে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ:
awk '($1 < 10 || $2 > 50) && !($3 == "error") {print $0}' filename.txt
এখানে, এই কমান্ডটি সেই লাইনগুলি প্রিন্ট করবে যেখানে প্রথম ফিল্ড 10 এর কম অথবা দ্বিতীয় ফিল্ড 50 এর বেশি, এবং তৃতীয় ফিল্ড "error" নয়।
AWK এর এই লজিক্যাল অপারেটরগুলি ডেটা প্রসেসিংয়ে শর্তাবলী গঠনের সময় অত্যন্ত গুরুত্বপূর্ণ। এগুলি ব্যবহার করে আপনি আপনার শর্তগুলির যৌক্তিক সম্পর্ক তৈরি করতে পারেন এবং আপনার প্রোগ্রামের কার্যকারিতা উন্নত করতে পারেন।
AWK তে Assignment Operators এবং Concatenation এর ব্যবহার গুরুত্বপূর্ণ, কারণ এগুলি ডেটা পরিচালনা এবং প্রক্রিয়াকরণে সহায়ক হয়। এখানে এই দুটি ধারণার বিস্তারিত আলোচনা করা হলো।
Assignment Operators হল অপারেটরগুলি যা ভেরিয়েবলে মান সংযুক্ত করার জন্য ব্যবহৃত হয়। AWK তে নিম্নলিখিত প্রধান অ্যাসাইনমেন্ট অপারেটরগুলি রয়েছে:
=
(Simple Assignment Operator):উদাহরণ:
awk '{x = $1 + $2; print x}' filename.txt
$1
এবং $2
এর যোগফল x
ভেরিয়েবলে সংরক্ষিত হয়।+=
(Addition Assignment Operator):উদাহরণ:
awk '{sum += $1} END {print sum}' filename.txt
sum
ভেরিয়েবলে $1
এর মান যোগ করা হচ্ছে।-=
(Subtraction Assignment Operator):উদাহরণ:
awk '{balance -= $2} END {print balance}' filename.txt
*=
(Multiplication Assignment Operator):উদাহরণ:
awk '{product *= $1} END {print product}' filename.txt
/=
(Division Assignment Operator):উদাহরণ:
awk '{average /= count} END {print average}' filename.txt
Concatenation হল একটি প্রক্রিয়া যেখানে দুটি বা তার বেশি স্ট্রিং বা টেক্সট একত্রিত করা হয়। AWK তে স্ট্রিং কনক্যাটেনেট করার জন্য .
(ডট) অপারেটর ব্যবহার করা হয়। এটি সাধারণত একটি স্ট্রিং এর সাথে আরেকটি স্ট্রিং যুক্ত করতে ব্যবহৃত হয়।
স্ট্রিং কনক্যাটেনেশন:
awk '{fullName = $1 "." $2; print fullName}' filename.txt
এখানে $1
এবং $2
এর মান একত্রিত করে fullName
তৈরি হচ্ছে।
বৈশিষ্ট্যযুক্ত স্ট্রিং:
awk '{message = "Hello, " $1 "!"; print message}' filename.txt
এখানে message
ভেরিয়েবলটি ব্যবহারকারীর নামের সাথে যুক্ত একটি স্বাগত বার্তা তৈরি করছে।
ফরম্যাটেড আউটপুট:
awk '{output = "Record: " $1 ", Age: " $2; print output}' filename.txt
এখানে প্রতিটি রেকর্ডের জন্য ফরম্যাটেড আউটপুট তৈরি হচ্ছে।
AWK তে Assignment Operators এবং Concatenation ব্যবহার করা খুবই কার্যকরী। Assignment Operators ব্যবহার করে ব্যবহারকারীরা ভেরিয়েবলে মান সংযুক্ত করতে পারে এবং ভেরিয়েবলগুলোর গাণিতিক অপারেশন পরিচালনা করতে পারে। অন্যদিকে, Concatenation ব্যবহার করে স্ট্রিং বা টেক্সটের বিভিন্ন অংশ একত্রিত করতে পারে। এই দুটি ধারণা AWK স্ক্রিপ্টগুলির কার্যকারিতা এবং নমনীয়তা বাড়ায়, যা ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণের কাজে সহায়ক হয়।
common.read_more